package com.xjt.wx_admin.constant;

import cn.hutool.jwt.signers.JWTSigner;
import cn.hutool.jwt.signers.JWTSignerUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

public interface WxConstant {


     String LOGIN_UUID = "LOGIN_UUID:";


     String APPLY_MSG = "我通过了你的好友验证请求，现在我们可以开始聊天了";


     String Authorization = "Authorization";

     JWTSigner jwtSigner = JWTSignerUtil.hs256("!34ADASfhsrujwstrfhwdg@#$$@#efh3".getBytes());

    /**
     * @author Xujt
     * @version 1.0.0
     * @date 2022/08/31
     * @doc 消息类型
     */
    @AllArgsConstructor
    @Getter
    enum MsgType{
        LOGIN("登录",1),
        SEND_MSG("发送消息",2),
        VIDEO_CALL("发起视频聊天",3),
        RESPONSE_CALL("回应视频聊天",4),
        ASK_OFF("传递请求OFF",5),
        GET_OFF("获取请求OFF",6),
        ANSWER("应答",7),
        CANDIDATE("候选人",8),
        PUSH_OFF_LINE("强制离线",9),
        EXCEPTION("异常状态",500),
        ;
        private final String name;
        private final Integer code;
    }


    /**
     * @author Xujt
     * @version 1.0.0
     * @date 2022/08/31
     * @doc 消息类型
     */
    @AllArgsConstructor
    @Getter
    enum MsgTextType{
        TEXT("文本",1),
        ;
        private final String name;
        private final Integer code;
    }

    /**
     * @author Xujt
     * @version 1.0.0
     * @date 2022/08/31
     * @doc 申请状态
     */
    @AllArgsConstructor
    @Getter
    enum ApplyState{
        APPLY("申请中",0),
        AGREE("同意",1),
        REJECT("拒绝",2),
        ;
        private final String name;
        private final Integer code;

    }


    /**
     * 登录类型
     *
     * @author Xujt
     * @version 1.0.0
     * @date 2022/08/31
     * @doc 登录类型
     */
    @AllArgsConstructor
    @Getter
    enum LoginType{
        CREATE("生成登录二维码",1),
        SCAN("已扫码",2),
        CONFORM("确认登录",3);
        private final String name;
        private final Integer code;

    }

}
